package cn.kust.clock.service;

import cn.kust.clock.pojo.dto.CollectionDTO;
import cn.kust.clock.pojo.vo.CollectionVO;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author YL
 * @data 2022/7/25 20:48
 **/
@Service
public interface CollectionService {

    /**
     * 根据collectionDTO确认删除条目
     * @param collectionDTO 包括 user_id type_id type status
     * @return 受影响行数
     */
    Integer updateByCollectDTO(CollectionDTO collectionDTO);

    /**
     * 根据用户id和类型查询收藏列表
     * @param userId 用户id
     * @return 包含id type typeId title
     */
    List<CollectionVO> selectClockByUserIdAndType(Long userId);

    /**
     * 根据用户id和类型查询收藏列表
     * @param userId 用户id
     * @return 包含id type typeId title
     */
    List<CollectionVO> selectTravelsByUserIdAndType(Long userId);

    /**
     * 根据用户id查询收藏列表,将selectTravelsByUserIdAndType和selectClockByUserIdAndType的查询结果合并
     * @param userId 用户id
     * @return 包含id type typeId title
     */
    List<CollectionVO> selectByUserId(Long userId);

    /**
     * 插入新收藏数据
     * @param collectionDTO 收藏dto
     * @return 受影响行数
     */
    Integer insert(CollectionDTO collectionDTO);


}
